package com.lqian.list;

import java.util.ArrayList;

/**
 *1.ArrayList中维护了一个Object类型的数组 elementData
 *   transient Object[] elementData;
 *  transient：瞬间 短暂的  表示该属性会被忽略 不会被序列化
 *
 *2.当创建ArrayList对象时，如果使用的是无参构造器，则elementData初始容量为0，第一次添加时，则扩容elementData为10，
 * 如需再次扩容，则扩容因子为elementData的1.5倍
 *
 *3.如果使用的是指定大小的构造器，则初始elementData容量为构造器中指定的大小，如果需要扩容，则直接扩容为elementData的1.5倍
 *
 *
 *
 * @Author Melody_LQ
 * @Date 2021/6/22 16:36
 * @Description ArrayList源码分析
 * @Since version-1.0
 *
 */
public class ArrayListSource {
    public static void main(String[] args) {
        ArrayList list = new ArrayList();
        for (int i = 1; i <= 10 ; i++) {
            list.add(i);
        }
        for (int i = 11; i <= 15 ; i++) {
            list.add(i);
        }
        list.add(100);
        list.add(200);

        short s1 = 1;
        s1 += 1;
    }

    // ============================add 源码分析============================

}
